如何对Pandas DataFrame中的每个元素或者说每个数应用一个函数 | 您所在的位置:网站首页 › 财务分析报告 英文 › 如何对Pandas DataFrame中的每个元素或者说每个数应用一个函数 |
如何对Pandas DataFrame中的每个元素或者说每个数应用一个函数
答案是使用applymap() 函数,使用方法为df.applymap(函数名)。函数名可以为一个具体的函数名称,也可以是一个lambda函数。applymap()函数对dataframe对象中的每一个值,或者每一个元素都应用该函数。 举个例子,现在有一个dataframe对象df1,创建方式如下: df1=pd.DataFrame(np.arange(16).reshape(4,4), index = pd.date_range('20200101', periods = 4), columns=list('ABCD'))打印出来看看df1的样子: 现在我们需要将df1中的所有值都加10, 1)第一个方法可以使用lambda函数:df1 = df1.applymap(lambda x: x +10) 运行过之后,df1中的内容变为: 2)第二个方法定义一个函数 #定义一个函数 def func(x): return 10 + x #使用applymap对于数据集中的每个元素,应用func函数 df1=df1.applymap(func) df1效果同第一种方法是一样的 3)如果想对某一列应用lambda函数,则应该使用map,否则会报错:'Series' object has no attribute 'applymap' 即df1['A'].applymap(lambda x: x +10),会报错'Series' object has no attribute 'applymap'。 改为df1['A'].map(lambda x: x +10),即可正常使用lambda函数。 |
CopyRight 2018-2019 实验室设备网 版权所有 |